package com.algorithmicTest1;

public class ChangeJumping {
    public static void main(String[] args) {

//        可爱的小明特别喜欢爬楼梯，他有的时候一次爬一个台阶，
//        有的时候一次爬两个台阶，有的时候一次爬三个台阶。
//        如果这个楼梯有20个台阶，小明一共有多少种爬法呢？
        System.out.println(getChange(20));
    }

    public static int getChange(int count){
        if(count == 1){
            return 1;
        }
        if(count == 2){
            return 2;
        }
        if(count == 3){
            return 4;
        }
        //Fn(20) = Fn (19) + fn(18) + fn (17)

        //Fn(4) = Fn (1) + Fn(2) + Fn(3)

        return getChange(count - 1) + getChange(count - 2) +
                getChange(count - 3);
    }
}
